perm filename RECORD[AM,DBL]1 blob
sn#215671 filedate 1976-05-20 generic text, type T, neo UTF8
(FILECREATED "20-MAY-76 13:26:47" <LENAT>RECORD.;1 2197
changes to: RECORD-BP SETB RECORDCOMS)
(LISPXPRINT (QUOTE RECORDCOMS)
T T)
[RPAQQ RECORDCOMS ((FNS BPFS RECORD-BP DEFB SETB)
TRIVB
(P (MOVD SETB SLOW-SETB)
(MAPC CONCEPTS (QUOTE DEFB))
(ADVISE (QUOTE GETP)
(QUOTE (AND (FMEMB ATM CONCEPTS)
(PUT PROP ATM (ADD1 (COND [(CAR (FMEMB ATM (CDR PROP]
(0]
(DEFINEQ
(BPFS
[LAMBDA (B)
(CDDAR (CDDDR (GETD B])
(RECORD-BP
[LAMBDA (P B)
[SETQ B (CAR (SEARCHPDL (QUOTE IS-CON]
(PUT P B (ADD1 (COND
((GETP P B))
(0])
(DEFB
[LAMBDA (B BFL)
[SETQ BFL (EQ B (CAR (UNBREAK0 B]
(PUTD B (COPY TRIVB))
[MAPC XS-PARTS (FUNCTION (LAMBDA (XP BP)
(COND
((GETB B XP)
(SETQ BP (GLUEE B XP))
(ATTACH (LIST XP (CONS BP (GETARGS XP)))
(BPFS B))
(PUTD BP (LIST (QUOTE LAMBDA)
(GETARGS XP)
(LIST (QUOTE SELF-COMPILE)
BP
(CONS (GETFNAME XP)
(FGETB B XP]
[COND
((EQ (GETB B (QUOTE INV))
T)
(* Notice that a Being can now have two clauses (INV ...), but in that case the first will
(properly) point to the ALGS e-part)
(ATTACH [LIST (QUOTE INV)
(CONS (GLUEE B (QUOTE ALGS))
(GETARGS (QUOTE ALGS]
(BPFS B]
(COND
(BFL (CPRIN1 1 CRLF CRLF "The Being " B " was broken. Defb" CRLF
" unbroke it, redefined it, and then broke it (BREAK)" DCR)
(APPLY* (QUOTE BREAK)
B))
(B])
(SETB
[LAMBDA (B P Q BP)
[AND (FMEMB P XEQ-PARTS)
Q
[PUTD (SETQ BP (GLUEE B P))
(LIST (QUOTE LAMBDA)
(GETARGS P)
(LIST (QUOTE SELF-COMPILE)
BP
(CONS (GETFNAME P)
Q]
(OR (GETB B P)
(ATTACH (LIST P (CONS BP (GETARGS P)))
(BPFS B]
(PUT B P Q])
)
(RPAQQ TRIVB [LAMBDA (BP BA1 BA2 BA3 BA4)
(RECORD-BP BP)
(SELECTQ BP NIL])
(MOVD SETB SLOW-SETB)
(MAPC CONCEPTS (QUOTE DEFB))
[ADVISE (QUOTE GETP)
(QUOTE (AND (FMEMB ATM CONCEPTS)
(PUT PROP ATM (ADD1 (COND [(CAR (FMEMB ATM (CDR PROP]
(0]
(DECLARE: DONTCOPY
(FILEMAP (NIL (431 1883 (BPFS 443 . 492) (RECORD-BP 496 . 627) (DEFB 631 . 1554) (SETB 1558 . 1880)))))
STOP